void main() {
  try {
    var  a =1/0;
  } on FormatException {
    // 捕获FormatException异常
  } on ArgumentError catch (e) {
    // 捕获CustomException异常
    print(e); // 打印错误信息
    // ......
  } catch (e, s) {
    // 捕获所有未被上层分句处理的异常
    print(e); // 打印错误和堆栈信息
    print(s);
    // ......
  } finally {
    // 总是执行，无论异常是否发生，是否被处理
    print('Clean up!'); // 执行清理工作
  }


  try {
    var b=1/0;
  } catch (e) {
    print(e); // 打印错误信息
    rethrow; // 重新抛出当前捕获的异常对象 e
  }
}

